<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Kinetis Bootloader Host: ConversionController.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="nxp_logo_small.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Kinetis Bootloader Host
   &#160;<span id="projectnumber">2.0.0</span>
   </div>
   <div id="projectbrief">Host Tools for Kinetis devices</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Introduction</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('_conversion_controller_8h_source.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">ConversionController.h</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * File:    ConversionController.h</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Copyright (c) Freescale Semiconductor, Inc. All rights reserved.</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * See included license file for license details.</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#if !defined(_ConversionController_h_)</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#define _ConversionController_h_</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#include &lt;fstream&gt;</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#include &lt;stdexcept&gt;</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#include &quot;smart_ptr.h&quot;</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#include &quot;ElftosbLexer.h&quot;</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &quot;ElftosbAST.h&quot;</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &quot;EvalContext.h&quot;</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &quot;Value.h&quot;</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &quot;SourceFile.h&quot;</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &quot;Operation.h&quot;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &quot;DataSource.h&quot;</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#include &quot;DataTarget.h&quot;</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;OutputSection.h&quot;</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;BootImage.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#include &quot;OptionDictionary.h&quot;</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &quot;BootImageGenerator.h&quot;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &quot;Keyblob.h&quot;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceelftosb.html">elftosb</a></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;{</div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="classelftosb_1_1_conversion_controller.html">   48</a></span>&#160;<span class="keyword">class </span><a class="code" href="classelftosb_1_1_conversion_controller.html">ConversionController</a> : <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_option_dictionary.html">OptionDictionary</a>, <span class="keyword">public</span> <a class="code" href="classelftosb_1_1_eval_context_1_1_source_file_manager.html">EvalContext::SourceFileManager</a></div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;{</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <a class="code" href="classelftosb_1_1_conversion_controller.html#ada34cb63163e9dd254471d37c3b8fe35">ConversionController</a>();</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_conversion_controller.html#a4b194e664f5a3017941113c7ff9f0ac1">~ConversionController</a>();</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classelftosb_1_1_conversion_controller.html#adfe659b2eb45fd7d51603431d1da0531">setCommandFilePath</a>(<span class="keyword">const</span> std::string &amp;path);</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classelftosb_1_1_conversion_controller.html#aeb411fd22b4fe550651159bc85f7a436">addExternalFilePath</a>(<span class="keyword">const</span> std::string &amp;path);</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classelftosb_1_1_conversion_controller.html#af8549b36d95bdc61929f4ad7ad18997c">run</a>();</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    <a class="code" href="classelftosb_1_1_boot_image.html">BootImage</a> *<a class="code" href="classelftosb_1_1_conversion_controller.html#a96b363bd83e579f7d9e3d0ebb13859e3">generateOutput</a>(<a class="code" href="classelftosb_1_1_boot_image_generator.html">BootImageGenerator</a> *generator);</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classelftosb_1_1_conversion_controller.html#a70319994f6b274a765627b8ab6b2b508">hasSourceFile</a>(<span class="keyword">const</span> std::string &amp;name);</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_source_file.html">SourceFile</a> *<a class="code" href="classelftosb_1_1_conversion_controller.html#a22ac8c0dbe4df90d45ace08ef6c55657">getSourceFile</a>(<span class="keyword">const</span> std::string &amp;name);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classelftosb_1_1_source_file.html">SourceFile</a> *<a class="code" href="classelftosb_1_1_conversion_controller.html#a7fce40239e8be143dead0b506afc3e49">getDefaultSourceFile</a>();</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="classelftosb_1_1_conversion_controller.html#a5effa854cadf46336060593f9cd45a90">   88</a></span>&#160;    <span class="keyword">inline</span> <a class="code" href="classelftosb_1_1_eval_context.html">EvalContext</a> &amp;<a class="code" href="classelftosb_1_1_conversion_controller.html#a5effa854cadf46336060593f9cd45a90">getEvalContext</a>() { <span class="keywordflow">return</span> <a class="code" href="classelftosb_1_1_conversion_controller.html#a7d3f0e545baec2893568e5bf68eed310">m_context</a>; }</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classelftosb_1_1_conversion_controller.html#a0d4c92baf308f84152f1bcba4a606583">parseCommandFile</a>();</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classelftosb_1_1_conversion_controller.html#af9d97007fa64feaf2e947d4322a9267e">processOptions</a>(<a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *options);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classelftosb_1_1_conversion_controller.html#aaa468ab83633871567e5190ff62a35f7">processConstants</a>(<a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *constants);</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classelftosb_1_1_conversion_controller.html#a98b5fa4a578cc79d6b9eddcc192e8491">processSources</a>(<a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *sources);</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classelftosb_1_1_conversion_controller.html#a5eda84b94dfeea7b7e2144d88b7b4b9a">processKeyblob</a>(<a class="code" href="classelftosb_1_1_expr_a_s_t_node.html">ExprASTNode</a> *idExpr, <a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *entires);</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <span class="keywordtype">void</span> processSections(<a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *sections);</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    <a class="code" href="classelftosb_1_1_output_section.html">OutputSection</a> *<a class="code" href="classelftosb_1_1_conversion_controller.html#a22b56bc362aac01ba477d8611b41106a">convertDataSection</a>(<a class="code" href="classelftosb_1_1_data_section_contents_a_s_t_node.html">DataSectionContentsASTNode</a> *dataSection,</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;                                      uint32_t sectionID,</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;                                      <a class="code" href="classelftosb_1_1_option_dictionary.html">OptionDictionary</a> *optionsDict);</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    <a class="code" href="classelftosb_1_1_operation_sequence.html">OperationSequence</a> *<a class="code" href="classelftosb_1_1_conversion_controller.html#ad8e901fbaafddbeb2dee816dc079163e">convertStatementList</a>(<a class="code" href="classelftosb_1_1_list_a_s_t_node.html">ListASTNode</a> *statements);</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    <a class="code" href="classelftosb_1_1_operation_sequence.html">OperationSequence</a> *<a class="code" href="classelftosb_1_1_conversion_controller.html#a8df833e6e93d3b17b929d2cced6920bb">convertOneStatement</a>(<a class="code" href="classelftosb_1_1_statement_a_s_t_node.html">StatementASTNode</a> *statement);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    <a class="code" href="classelftosb_1_1_operation_sequence.html">OperationSequence</a> *<a class="code" href="classelftosb_1_1_conversion_controller.html#ad9b657c1b30e68f496ece044a9a79307">convertLoadStatement</a>(<a class="code" href="classelftosb_1_1_load_statement_a_s_t_node.html">LoadStatementASTNode</a> *statement);</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    <a class="code" href="classelftosb_1_1_operation_sequence.html">OperationSequence</a> *<a class="code" href="classelftosb_1_1_conversion_controller.html#a1bf67c5c92ed56c95f0d2f0cae656f6a">convertCallStatement</a>(<a class="code" href="classelftosb_1_1_call_statement_a_s_t_node.html">CallStatementASTNode</a> *statement);</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    <a class="code" href="classelftosb_1_1_operation_sequence.html">OperationSequence</a> *<a class="code" href="classelftosb_1_1_conversion_controller.html#ae6aa2996ba397329a0a7a7e1d110c968">convertFromStatement</a>(<a class="code" href="classelftosb_1_1_from_statement_a_s_t_node.html">FromStatementASTNode</a> *statement);</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;    <a class="code" href="classelftosb_1_1_operation_sequence.html">OperationSequence</a> *<a class="code" href="classelftosb_1_1_conversion_controller.html#aa2da6c6d7f1b9e1fe2f63857b4648ee9">convertModeStatement</a>(<a class="code" href="classelftosb_1_1_mode_statement_a_s_t_node.html">ModeStatementASTNode</a> *statement);</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    <a class="code" href="classelftosb_1_1_operation_sequence.html">OperationSequence</a> *<a class="code" href="classelftosb_1_1_conversion_controller.html#a4eed30bbcd1ff42ba876b5571d284090">convertResetStatement</a>(<a class="code" href="classelftosb_1_1_reset_statement_a_s_t_node.html">ResetStatementASTNode</a> *statement);</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    <a class="code" href="classelftosb_1_1_operation_sequence.html">OperationSequence</a> *<a class="code" href="classelftosb_1_1_conversion_controller.html#ac3637d147ed10fec58d1be64bce67254">convertIfStatement</a>(<a class="code" href="classelftosb_1_1_if_statement_a_s_t_node.html">IfStatementASTNode</a> *statement);</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    <a class="code" href="classelftosb_1_1_operation_sequence.html">OperationSequence</a> *convertEraseStatement(<a class="code" href="classelftosb_1_1_erase_statement_a_s_t_node.html">EraseStatementASTNode</a> *statement);</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    <a class="code" href="classelftosb_1_1_operation_sequence.html">OperationSequence</a> *convertMemEnableStatement(<a class="code" href="classelftosb_1_1_mem_enable_statement_a_s_t_node.html">MemEnableStatementASTNode</a> *statement);</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    <a class="code" href="classelftosb_1_1_operation_sequence.html">OperationSequence</a> *<a class="code" href="classelftosb_1_1_conversion_controller.html#a1e5dd56ecd1974c10e43dfd2dd20972b">convertKeywrapStatement</a>(<a class="code" href="classelftosb_1_1_keywrap_statement_a_s_t_node.html">KeywrapStatementASTNode</a> *statement);</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    <a class="code" href="classelftosb_1_1_operation_sequence.html">OperationSequence</a> *<a class="code" href="classelftosb_1_1_conversion_controller.html#a6f59d932eac25fc09ac8442e1f234aa5">convertEncryptStatement</a>(<a class="code" href="classelftosb_1_1_encrypt_statement_a_s_t_node.html">EncryptStatementASTNode</a> *statement);</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classelftosb_1_1_conversion_controller.html#af4f4d3c44b1be9dd0051a7899e1d9a12">handleMessageStatement</a>(<a class="code" href="classelftosb_1_1_message_statement_a_s_t_node.html">MessageStatementASTNode</a> *statement);</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <a class="code" href="classelftosb_1_1_value.html">Value</a> *<a class="code" href="classelftosb_1_1_conversion_controller.html#aef6baa87ec2f5430fc1989c24a3b8ffc">convertAssignmentNodeToValue</a>(<a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *node, std::string &amp;ident);</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    <a class="code" href="classelftosb_1_1_source_file.html">SourceFile</a> *<a class="code" href="classelftosb_1_1_conversion_controller.html#a3b4f740adcce85a4044650523604c922">getSourceFromName</a>(std::string *sourceName, <span class="keywordtype">int</span> line);</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    <a class="code" href="classelftosb_1_1_data_source.html">DataSource</a> *<a class="code" href="classelftosb_1_1_conversion_controller.html#ada4209b5749ef668ba65b2893a7e9732">createSourceFromNode</a>(<a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *dataNode);</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    <a class="code" href="classelftosb_1_1_data_target.html">DataTarget</a> *<a class="code" href="classelftosb_1_1_conversion_controller.html#ad479b0599759a9bc9198e3a5c4a4287e">createTargetFromNode</a>(<a class="code" href="classelftosb_1_1_a_s_t_node.html">ASTNode</a> *targetNode);</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    std::string *<a class="code" href="classelftosb_1_1_conversion_controller.html#a515fa552c78029c448b849d78f6b23e2">substituteVariables</a>(<span class="keyword">const</span> std::string *message);</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    <a class="code" href="classelftosb_1_1_data_source.html">DataSource</a> *createIVTDataSource(<a class="code" href="classelftosb_1_1_i_v_t_const_a_s_t_node.html">IVTConstASTNode</a> *ivtNode);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classelftosb_1_1_conversion_controller.html#a6d7e4b970d586cc1467a5d7d4d0e55e5">testLexer</a>(<a class="code" href="classelftosb_1_1_elftosb_lexer.html">ElftosbLexer</a> &amp;lexer);</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classelftosb_1_1_conversion_controller.html#a63838abcab2df44563db15fc2ca88761">printIntConstExpr</a>(<span class="keyword">const</span> std::string &amp;ident, <a class="code" href="classelftosb_1_1_int_const_expr_a_s_t_node.html">IntConstExprASTNode</a> *expr);</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="classelftosb_1_1_conversion_controller.html#a20c47fb6fe671f8d72362581fbf3b365">  137</a></span>&#160;    <span class="keyword">typedef</span> std::map&lt;std::string, SourceFile *&gt; <a class="code" href="classelftosb_1_1_conversion_controller.html#a20c47fb6fe671f8d72362581fbf3b365">source_map_t</a>; </div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="classelftosb_1_1_conversion_controller.html#af6d43d6747b5d190321147739e61a079">  138</a></span>&#160;    <span class="keyword">typedef</span> std::vector&lt;std::string&gt; <a class="code" href="classelftosb_1_1_conversion_controller.html#af6d43d6747b5d190321147739e61a079">path_vector_t</a>;           </div><div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="classelftosb_1_1_conversion_controller.html#aa7d9f8d9865d516ec83bd08428ec56fe">  139</a></span>&#160;    <span class="keyword">typedef</span> std::vector&lt;OutputSection *&gt; <a class="code" href="classelftosb_1_1_conversion_controller.html#aa7d9f8d9865d516ec83bd08428ec56fe">section_vector_t</a>;    </div><div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="classelftosb_1_1_conversion_controller.html#a195c0a0bd872f22443027317e1fa0ec3">  140</a></span>&#160;    <span class="keyword">typedef</span> std::vector&lt;std::string&gt; <a class="code" href="classelftosb_1_1_conversion_controller.html#a195c0a0bd872f22443027317e1fa0ec3">source_name_vector_t</a>;    </div><div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="classelftosb_1_1_conversion_controller.html#a536efd2c766d5d34c71e48c4955bb9c3">  141</a></span>&#160;    <span class="keyword">typedef</span> std::vector&lt;Keyblob *&gt; <a class="code" href="classelftosb_1_1_conversion_controller.html#a536efd2c766d5d34c71e48c4955bb9c3">keyblob_vector_t</a>;          </div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;</div><div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="classelftosb_1_1_conversion_controller.html#af84f4ce40e3f0e89df0d05897ae22807">  143</a></span>&#160;    <a class="code" href="group__smart__pointer.html">smart_ptr&lt;std::string&gt;</a> <a class="code" href="classelftosb_1_1_conversion_controller.html#af84f4ce40e3f0e89df0d05897ae22807">m_commandFilePath</a>; </div><div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="classelftosb_1_1_conversion_controller.html#ada74738575f76dec7d429a0ee394084f">  144</a></span>&#160;    <a class="code" href="group__smart__pointer.html#classsmart__ptr">smart_ptr&lt;CommandFileASTNode&gt;</a> <a class="code" href="classelftosb_1_1_conversion_controller.html#ada74738575f76dec7d429a0ee394084f">m_ast</a>;      </div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="classelftosb_1_1_conversion_controller.html#a7d3f0e545baec2893568e5bf68eed310">  145</a></span>&#160;    <a class="code" href="classelftosb_1_1_eval_context.html">EvalContext</a> <a class="code" href="classelftosb_1_1_conversion_controller.html#a7d3f0e545baec2893568e5bf68eed310">m_context</a>;                    </div><div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="classelftosb_1_1_conversion_controller.html#a9a4ed33ca258ea55bad725fa35f21592">  146</a></span>&#160;    source_map_t <a class="code" href="classelftosb_1_1_conversion_controller.html#a9a4ed33ca258ea55bad725fa35f21592">m_sources</a>;                   </div><div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="classelftosb_1_1_conversion_controller.html#a965fc2d7904361996f2de3eb18acd3c8">  147</a></span>&#160;    path_vector_t <a class="code" href="classelftosb_1_1_conversion_controller.html#a965fc2d7904361996f2de3eb18acd3c8">m_externPaths</a>;              </div><div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="classelftosb_1_1_conversion_controller.html#afe52092ae5ca928c5108ddac28b4c871">  148</a></span>&#160;    <a class="code" href="classelftosb_1_1_source_file.html">SourceFile</a> *<a class="code" href="classelftosb_1_1_conversion_controller.html#afe52092ae5ca928c5108ddac28b4c871">m_defaultSource</a>;              </div><div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="classelftosb_1_1_conversion_controller.html#ad82826037f5dd39335c17a012f942dd0">  149</a></span>&#160;    section_vector_t <a class="code" href="classelftosb_1_1_conversion_controller.html#ad82826037f5dd39335c17a012f942dd0">m_outputSections</a>;        </div><div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="classelftosb_1_1_conversion_controller.html#a285950f469dfb162047259a200480531">  150</a></span>&#160;    source_name_vector_t <a class="code" href="classelftosb_1_1_conversion_controller.html#a285950f469dfb162047259a200480531">m_failedSources</a>;     </div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="classelftosb_1_1_conversion_controller.html#af1370e1ebe76fccacdf2c58c0b216419">  151</a></span>&#160;    keyblob_vector_t <a class="code" href="classelftosb_1_1_conversion_controller.html#af1370e1ebe76fccacdf2c58c0b216419">m_keyblobs</a>;              </div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="classelftosb_1_1_conversion_controller.html#abc28485f77c40cf315df1ebe8a86f497">  152</a></span>&#160;    <a class="code" href="classelftosb_1_1_keyblob.html">Keyblob</a> *<a class="code" href="classelftosb_1_1_conversion_controller.html#abc28485f77c40cf315df1ebe8a86f497">m_keywrapKeyblob</a>;                </div><div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="classelftosb_1_1_conversion_controller.html#a4391388367418538188c7d544328d993">  153</a></span>&#160;    <a class="code" href="classelftosb_1_1_keyblob.html">Keyblob</a> *<a class="code" href="classelftosb_1_1_conversion_controller.html#a4391388367418538188c7d544328d993">m_encryptKeyblob</a>;                </div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;};</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">bool</span> g_enableHABSupport;</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;}; <span class="comment">// namespace elftosb</span></div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;<span class="preprocessor">#endif // _ConversionController_h_</span></div><div class="ttc" id="classelftosb_1_1_conversion_controller_html_ada74738575f76dec7d429a0ee394084f"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#ada74738575f76dec7d429a0ee394084f">elftosb::ConversionController::m_ast</a></div><div class="ttdeci">smart_ptr&lt; CommandFileASTNode &gt; m_ast</div><div class="ttdoc">Root of the abstract syntax tree. </div><div class="ttdef"><b>Definition:</b> ConversionController.h:144</div></div>
<div class="ttc" id="classelftosb_1_1_data_source_html"><div class="ttname"><a href="classelftosb_1_1_data_source.html">elftosb::DataSource</a></div><div class="ttdoc">Abstract base class for data sources. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/DataSource.h:33</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_a8df833e6e93d3b17b929d2cced6920bb"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#a8df833e6e93d3b17b929d2cced6920bb">elftosb::ConversionController::convertOneStatement</a></div><div class="ttdeci">OperationSequence * convertOneStatement(StatementASTNode *statement)</div><div class="ttdef"><b>Definition:</b> ConversionController.cpp:714</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_a1e5dd56ecd1974c10e43dfd2dd20972b"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#a1e5dd56ecd1974c10e43dfd2dd20972b">elftosb::ConversionController::convertKeywrapStatement</a></div><div class="ttdeci">OperationSequence * convertKeywrapStatement(KeywrapStatementASTNode *statement)</div><div class="ttdef"><b>Definition:</b> ConversionController.cpp:1042</div></div>
<div class="ttc" id="classelftosb_1_1_operation_sequence_html"><div class="ttname"><a href="classelftosb_1_1_operation_sequence.html">elftosb::OperationSequence</a></div><div class="ttdoc">Ordered sequence of operations. </div><div class="ttdef"><b>Definition:</b> Operation.h:323</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_aaa468ab83633871567e5190ff62a35f7"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#aaa468ab83633871567e5190ff62a35f7">elftosb::ConversionController::processConstants</a></div><div class="ttdeci">void processConstants(ListASTNode *constants)</div><div class="ttdef"><b>Definition:</b> ConversionController.cpp:269</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_a7fce40239e8be143dead0b506afc3e49"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#a7fce40239e8be143dead0b506afc3e49">elftosb::ConversionController::getDefaultSourceFile</a></div><div class="ttdeci">virtual SourceFile * getDefaultSourceFile()</div><div class="ttdoc">Returns the default source file, or NULL if none is set. </div><div class="ttdef"><b>Definition:</b> ConversionController.cpp:88</div></div>
<div class="ttc" id="classelftosb_1_1_int_const_expr_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_int_const_expr_a_s_t_node.html">elftosb::IntConstExprASTNode</a></div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:329</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_af9d97007fa64feaf2e947d4322a9267e"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#af9d97007fa64feaf2e947d4322a9267e">elftosb::ConversionController::processOptions</a></div><div class="ttdeci">void processOptions(ListASTNode *options)</div><div class="ttdef"><b>Definition:</b> ConversionController.cpp:236</div></div>
<div class="ttc" id="classelftosb_1_1_encrypt_statement_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_encrypt_statement_a_s_t_node.html">elftosb::EncryptStatementASTNode</a></div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1420</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_ac3637d147ed10fec58d1be64bce67254"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#ac3637d147ed10fec58d1be64bce67254">elftosb::ConversionController::convertIfStatement</a></div><div class="ttdeci">OperationSequence * convertIfStatement(IfStatementASTNode *statement)</div><div class="ttdef"><b>Definition:</b> ConversionController.cpp:1180</div></div>
<div class="ttc" id="classelftosb_1_1_statement_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_statement_a_s_t_node.html">elftosb::StatementASTNode</a></div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:882</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_af4f4d3c44b1be9dd0051a7899e1d9a12"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#af4f4d3c44b1be9dd0051a7899e1d9a12">elftosb::ConversionController::handleMessageStatement</a></div><div class="ttdeci">void handleMessageStatement(MessageStatementASTNode *statement)</div><div class="ttdef"><b>Definition:</b> ConversionController.cpp:1403</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_a536efd2c766d5d34c71e48c4955bb9c3"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#a536efd2c766d5d34c71e48c4955bb9c3">elftosb::ConversionController::keyblob_vector_t</a></div><div class="ttdeci">std::vector&lt; Keyblob * &gt; keyblob_vector_t</div><div class="ttdoc">List of keyblobs. </div><div class="ttdef"><b>Definition:</b> ConversionController.h:141</div></div>
<div class="ttc" id="classelftosb_1_1_i_v_t_const_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_i_v_t_const_a_s_t_node.html">elftosb::IVTConstASTNode</a></div><div class="ttdoc">Node for a constant IVT structure as used by HAB4. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:691</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_ad479b0599759a9bc9198e3a5c4a4287e"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#ad479b0599759a9bc9198e3a5c4a4287e">elftosb::ConversionController::createTargetFromNode</a></div><div class="ttdeci">DataTarget * createTargetFromNode(ASTNode *targetNode)</div><div class="ttdef"><b>Definition:</b> ConversionController.cpp:1737</div></div>
<div class="ttc" id="group__smart__pointer_html"><div class="ttname"><a href="group__smart__pointer.html">smart_ptr&lt; std::string &gt;</a></div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_a96b363bd83e579f7d9e3d0ebb13859e3"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#a96b363bd83e579f7d9e3d0ebb13859e3">elftosb::ConversionController::generateOutput</a></div><div class="ttdeci">BootImage * generateOutput(BootImageGenerator *generator)</div><div class="ttdoc">Uses a BootImageGenerator object to create the final output boot image. </div><div class="ttdef"><b>Definition:</b> ConversionController.cpp:1536</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_a70319994f6b274a765627b8ab6b2b508"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#a70319994f6b274a765627b8ab6b2b508">elftosb::ConversionController::hasSourceFile</a></div><div class="ttdeci">virtual bool hasSourceFile(const std::string &amp;name)</div><div class="ttdoc">Returns true if a source file with the name name exists. </div><div class="ttdef"><b>Definition:</b> ConversionController.cpp:73</div></div>
<div class="ttc" id="classelftosb_1_1_from_statement_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_from_statement_a_s_t_node.html">elftosb::FromStatementASTNode</a></div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1394</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_adfe659b2eb45fd7d51603431d1da0531"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#adfe659b2eb45fd7d51603431d1da0531">elftosb::ConversionController::setCommandFilePath</a></div><div class="ttdeci">void setCommandFilePath(const std::string &amp;path)</div><div class="ttdoc">Specify the command file that controls the conversion process. </div><div class="ttdef"><b>Definition:</b> ConversionController.cpp:60</div></div>
<div class="ttc" id="classelftosb_1_1_if_statement_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_if_statement_a_s_t_node.html">elftosb::IfStatementASTNode</a></div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:900</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_aa7d9f8d9865d516ec83bd08428ec56fe"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#aa7d9f8d9865d516ec83bd08428ec56fe">elftosb::ConversionController::section_vector_t</a></div><div class="ttdeci">std::vector&lt; OutputSection * &gt; section_vector_t</div><div class="ttdoc">List of output sections. </div><div class="ttdef"><b>Definition:</b> ConversionController.h:139</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_a965fc2d7904361996f2de3eb18acd3c8"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#a965fc2d7904361996f2de3eb18acd3c8">elftosb::ConversionController::m_externPaths</a></div><div class="ttdeci">path_vector_t m_externPaths</div><div class="ttdoc">Paths provided on the command line by the user. </div><div class="ttdef"><b>Definition:</b> ConversionController.h:147</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_af6d43d6747b5d190321147739e61a079"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#af6d43d6747b5d190321147739e61a079">elftosb::ConversionController::path_vector_t</a></div><div class="ttdeci">std::vector&lt; std::string &gt; path_vector_t</div><div class="ttdoc">List of file paths. </div><div class="ttdef"><b>Definition:</b> ConversionController.h:138</div></div>
<div class="ttc" id="classelftosb_1_1_option_dictionary_html"><div class="ttname"><a href="classelftosb_1_1_option_dictionary.html">elftosb::OptionDictionary</a></div><div class="ttdoc">Concrete implementation of OptionContext. </div><div class="ttdef"><b>Definition:</b> OptionDictionary.h:27</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_aa2da6c6d7f1b9e1fe2f63857b4648ee9"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#aa2da6c6d7f1b9e1fe2f63857b4648ee9">elftosb::ConversionController::convertModeStatement</a></div><div class="ttdeci">OperationSequence * convertModeStatement(ModeStatementASTNode *statement)</div><div class="ttdef"><b>Definition:</b> ConversionController.cpp:1127</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_a22b56bc362aac01ba477d8611b41106a"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#a22b56bc362aac01ba477d8611b41106a">elftosb::ConversionController::convertDataSection</a></div><div class="ttdeci">OutputSection * convertDataSection(DataSectionContentsASTNode *dataSection, uint32_t sectionID, OptionDictionary *optionsDict)</div><div class="ttdef"><b>Definition:</b> ConversionController.cpp:590</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_af8549b36d95bdc61929f4ad7ad18997c"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#af8549b36d95bdc61929f4ad7ad18997c">elftosb::ConversionController::run</a></div><div class="ttdeci">void run()</div><div class="ttdoc">Process input files. </div><div class="ttdef"><b>Definition:</b> ConversionController.cpp:115</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_afe52092ae5ca928c5108ddac28b4c871"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#afe52092ae5ca928c5108ddac28b4c871">elftosb::ConversionController::m_defaultSource</a></div><div class="ttdeci">SourceFile * m_defaultSource</div><div class="ttdoc">Source to use when one isn&amp;#39;t provided. </div><div class="ttdef"><b>Definition:</b> ConversionController.h:148</div></div>
<div class="ttc" id="classelftosb_1_1_eval_context_html"><div class="ttname"><a href="classelftosb_1_1_eval_context.html">elftosb::EvalContext</a></div><div class="ttdoc">Context for evaluating AST tree and expressions. </div><div class="ttdef"><b>Definition:</b> EvalContext.h:28</div></div>
<div class="ttc" id="group__smart__pointer_html_classsmart__ptr"><div class="ttname"><a href="group__smart__pointer.html#classsmart__ptr">smart_ptr</a></div><div class="ttdoc">Simple, standard smart pointer class. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/smart_ptr.h:18</div></div>
<div class="ttc" id="classelftosb_1_1_message_statement_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_message_statement_a_s_t_node.html">elftosb::MessageStatementASTNode</a></div><div class="ttdoc">Statement to print a message to the elftosb user. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1003</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_a6d7e4b970d586cc1467a5d7d4d0e55e5"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#a6d7e4b970d586cc1467a5d7d4d0e55e5">elftosb::ConversionController::testLexer</a></div><div class="ttdeci">void testLexer(ElftosbLexer &amp;lexer)</div><div class="ttdef"><b>Definition:</b> ConversionController.cpp:1885</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_ad82826037f5dd39335c17a012f942dd0"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#ad82826037f5dd39335c17a012f942dd0">elftosb::ConversionController::m_outputSections</a></div><div class="ttdeci">section_vector_t m_outputSections</div><div class="ttdoc">List of output sections the user wants. </div><div class="ttdef"><b>Definition:</b> ConversionController.h:149</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_a0d4c92baf308f84152f1bcba4a606583"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#a0d4c92baf308f84152f1bcba4a606583">elftosb::ConversionController::parseCommandFile</a></div><div class="ttdeci">void parseCommandFile()</div><div class="ttdef"><b>Definition:</b> ConversionController.cpp:176</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_a285950f469dfb162047259a200480531"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#a285950f469dfb162047259a200480531">elftosb::ConversionController::m_failedSources</a></div><div class="ttdeci">source_name_vector_t m_failedSources</div><div class="ttdoc">List of sources that failed to open successfully. </div><div class="ttdef"><b>Definition:</b> ConversionController.h:150</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_a98b5fa4a578cc79d6b9eddcc192e8491"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#a98b5fa4a578cc79d6b9eddcc192e8491">elftosb::ConversionController::processSources</a></div><div class="ttdeci">void processSources(ListASTNode *sources)</div><div class="ttdef"><b>Definition:</b> ConversionController.cpp:302</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_a6f59d932eac25fc09ac8442e1f234aa5"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#a6f59d932eac25fc09ac8442e1f234aa5">elftosb::ConversionController::convertEncryptStatement</a></div><div class="ttdeci">OperationSequence * convertEncryptStatement(EncryptStatementASTNode *statement)</div><div class="ttdef"><b>Definition:</b> ConversionController.cpp:1084</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_af1370e1ebe76fccacdf2c58c0b216419"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#af1370e1ebe76fccacdf2c58c0b216419">elftosb::ConversionController::m_keyblobs</a></div><div class="ttdeci">keyblob_vector_t m_keyblobs</div><div class="ttdoc">List of keyblobs the user defines. </div><div class="ttdef"><b>Definition:</b> ConversionController.h:151</div></div>
<div class="ttc" id="namespaceelftosb_html"><div class="ttname"><a href="namespaceelftosb.html">elftosb</a></div><div class="ttdef"><b>Definition:</b> BootImage.h:13</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_a20c47fb6fe671f8d72362581fbf3b365"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#a20c47fb6fe671f8d72362581fbf3b365">elftosb::ConversionController::source_map_t</a></div><div class="ttdeci">std::map&lt; std::string, SourceFile * &gt; source_map_t</div><div class="ttdoc">Map from source name to object. </div><div class="ttdef"><b>Definition:</b> ConversionController.h:137</div></div>
<div class="ttc" id="classelftosb_1_1_source_file_html"><div class="ttname"><a href="classelftosb_1_1_source_file.html">elftosb::SourceFile</a></div><div class="ttdoc">Abstract base class for a source file containing executable code. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/SourceFile.h:33</div></div>
<div class="ttc" id="classelftosb_1_1_keywrap_statement_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_keywrap_statement_a_s_t_node.html">elftosb::KeywrapStatementASTNode</a></div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1448</div></div>
<div class="ttc" id="classelftosb_1_1_eval_context_1_1_source_file_manager_html"><div class="ttname"><a href="classelftosb_1_1_eval_context_1_1_source_file_manager.html">elftosb::EvalContext::SourceFileManager</a></div><div class="ttdoc">Abstract interface for a manager of source files. </div><div class="ttdef"><b>Definition:</b> EvalContext.h:34</div></div>
<div class="ttc" id="classelftosb_1_1_data_target_html"><div class="ttname"><a href="classelftosb_1_1_data_target.html">elftosb::DataTarget</a></div><div class="ttdoc">Abstract base class for the target address or range of data. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/DataTarget.h:34</div></div>
<div class="ttc" id="classelftosb_1_1_value_html"><div class="ttname"><a href="classelftosb_1_1_value.html">elftosb::Value</a></div><div class="ttdoc">Abstract base class for values of arbitrary types. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/Value.h:20</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_ae6aa2996ba397329a0a7a7e1d110c968"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#ae6aa2996ba397329a0a7a7e1d110c968">elftosb::ConversionController::convertFromStatement</a></div><div class="ttdeci">OperationSequence * convertFromStatement(FromStatementASTNode *statement)</div><div class="ttdef"><b>Definition:</b> ConversionController.cpp:1003</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_a4eed30bbcd1ff42ba876b5571d284090"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#a4eed30bbcd1ff42ba876b5571d284090">elftosb::ConversionController::convertResetStatement</a></div><div class="ttdeci">OperationSequence * convertResetStatement(ResetStatementASTNode *statement)</div><div class="ttdoc">Creates a Reset Operation object and returns an OperationSequence containing it. </div><div class="ttdef"><b>Definition:</b> ConversionController.cpp:1167</div></div>
<div class="ttc" id="classelftosb_1_1_call_statement_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_call_statement_a_s_t_node.html">elftosb::CallStatementASTNode</a></div><div class="ttdoc">AST node for a call statement. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1080</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_aef6baa87ec2f5430fc1989c24a3b8ffc"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#aef6baa87ec2f5430fc1989c24a3b8ffc">elftosb::ConversionController::convertAssignmentNodeToValue</a></div><div class="ttdeci">Value * convertAssignmentNodeToValue(ASTNode *node, std::string &amp;ident)</div><div class="ttdef"><b>Definition:</b> ConversionController.cpp:625</div></div>
<div class="ttc" id="classelftosb_1_1_erase_statement_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_erase_statement_a_s_t_node.html">elftosb::EraseStatementASTNode</a></div><div class="ttdoc">Statement to insert a ROM_ERASE_CMD command. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:960</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_ada34cb63163e9dd254471d37c3b8fe35"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#ada34cb63163e9dd254471d37c3b8fe35">elftosb::ConversionController::ConversionController</a></div><div class="ttdeci">ConversionController()</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> ConversionController.cpp:36</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_ad8e901fbaafddbeb2dee816dc079163e"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#ad8e901fbaafddbeb2dee816dc079163e">elftosb::ConversionController::convertStatementList</a></div><div class="ttdeci">OperationSequence * convertStatementList(ListASTNode *statements)</div><div class="ttdef"><b>Definition:</b> ConversionController.cpp:684</div></div>
<div class="ttc" id="classelftosb_1_1_data_section_contents_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_data_section_contents_a_s_t_node.html">elftosb::DataSectionContentsASTNode</a></div><div class="ttdoc">Node representing a raw binary section definition. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:836</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_a1bf67c5c92ed56c95f0d2f0cae656f6a"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#a1bf67c5c92ed56c95f0d2f0cae656f6a">elftosb::ConversionController::convertCallStatement</a></div><div class="ttdeci">OperationSequence * convertCallStatement(CallStatementASTNode *statement)</div><div class="ttdef"><b>Definition:</b> ConversionController.cpp:914</div></div>
<div class="ttc" id="classelftosb_1_1_keyblob_html"><div class="ttname"><a href="classelftosb_1_1_keyblob.html">elftosb::Keyblob</a></div><div class="ttdoc">Keyblob specification. </div><div class="ttdef"><b>Definition:</b> Keyblob.h:27</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html">elftosb::ConversionController</a></div><div class="ttdoc">Manages the entire elftosb file conversion process. </div><div class="ttdef"><b>Definition:</b> ConversionController.h:48</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_a22ac8c0dbe4df90d45ace08ef6c55657"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#a22ac8c0dbe4df90d45ace08ef6c55657">elftosb::ConversionController::getSourceFile</a></div><div class="ttdeci">virtual SourceFile * getSourceFile(const std::string &amp;name)</div><div class="ttdoc">Gets the requested source file. </div><div class="ttdef"><b>Definition:</b> ConversionController.cpp:78</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_a5effa854cadf46336060593f9cd45a90"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#a5effa854cadf46336060593f9cd45a90">elftosb::ConversionController::getEvalContext</a></div><div class="ttdeci">EvalContext &amp; getEvalContext()</div><div class="ttdoc">Returns a reference to the context used for expression evaluation. </div><div class="ttdef"><b>Definition:</b> ConversionController.h:88</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_aeb411fd22b4fe550651159bc85f7a436"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#aeb411fd22b4fe550651159bc85f7a436">elftosb::ConversionController::addExternalFilePath</a></div><div class="ttdeci">void addExternalFilePath(const std::string &amp;path)</div><div class="ttdoc">Specify the path of a file provided by the user from outside the command file. </div><div class="ttdef"><b>Definition:</b> ConversionController.cpp:68</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_a5eda84b94dfeea7b7e2144d88b7b4b9a"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#a5eda84b94dfeea7b7e2144d88b7b4b9a">elftosb::ConversionController::processKeyblob</a></div><div class="ttdeci">void processKeyblob(ExprASTNode *idExpr, ListASTNode *entires)</div><div class="ttdef"><b>Definition:</b> ConversionController.cpp:420</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_a195c0a0bd872f22443027317e1fa0ec3"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#a195c0a0bd872f22443027317e1fa0ec3">elftosb::ConversionController::source_name_vector_t</a></div><div class="ttdeci">std::vector&lt; std::string &gt; source_name_vector_t</div><div class="ttdoc">List of source names. </div><div class="ttdef"><b>Definition:</b> ConversionController.h:140</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_a7d3f0e545baec2893568e5bf68eed310"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#a7d3f0e545baec2893568e5bf68eed310">elftosb::ConversionController::m_context</a></div><div class="ttdeci">EvalContext m_context</div><div class="ttdoc">Evaluation context for expressions. </div><div class="ttdef"><b>Definition:</b> ConversionController.h:145</div></div>
<div class="ttc" id="classelftosb_1_1_boot_image_html"><div class="ttname"><a href="classelftosb_1_1_boot_image.html">elftosb::BootImage</a></div><div class="ttdoc">Abstract base class for all boot image format classes. </div><div class="ttdef"><b>Definition:</b> BootImage.h:25</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_a4391388367418538188c7d544328d993"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#a4391388367418538188c7d544328d993">elftosb::ConversionController::m_encryptKeyblob</a></div><div class="ttdeci">Keyblob * m_encryptKeyblob</div><div class="ttdoc">Keyblob used for OTFAD encryption. </div><div class="ttdef"><b>Definition:</b> ConversionController.h:153</div></div>
<div class="ttc" id="classelftosb_1_1_mem_enable_statement_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_mem_enable_statement_a_s_t_node.html">elftosb::MemEnableStatementASTNode</a></div><div class="ttdoc">Statement to insert a ROM_MEM_ENABLE_CMD command. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1160</div></div>
<div class="ttc" id="classelftosb_1_1_expr_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_expr_a_s_t_node.html">elftosb::ExprASTNode</a></div><div class="ttdoc">Abstract base class for all expression AST nodes. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:231</div></div>
<div class="ttc" id="classelftosb_1_1_mode_statement_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_mode_statement_a_s_t_node.html">elftosb::ModeStatementASTNode</a></div><div class="ttdoc">Statement to insert a ROM_MODE_CMD command. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:932</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_abc28485f77c40cf315df1ebe8a86f497"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#abc28485f77c40cf315df1ebe8a86f497">elftosb::ConversionController::m_keywrapKeyblob</a></div><div class="ttdeci">Keyblob * m_keywrapKeyblob</div><div class="ttdoc">Keyblob used for keywrapping. </div><div class="ttdef"><b>Definition:</b> ConversionController.h:152</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_af84f4ce40e3f0e89df0d05897ae22807"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#af84f4ce40e3f0e89df0d05897ae22807">elftosb::ConversionController::m_commandFilePath</a></div><div class="ttdeci">smart_ptr&lt; std::string &gt; m_commandFilePath</div><div class="ttdoc">Path to command file. </div><div class="ttdef"><b>Definition:</b> ConversionController.h:143</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_ada4209b5749ef668ba65b2893a7e9732"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#ada4209b5749ef668ba65b2893a7e9732">elftosb::ConversionController::createSourceFromNode</a></div><div class="ttdeci">DataSource * createSourceFromNode(ASTNode *dataNode)</div><div class="ttdef"><b>Definition:</b> ConversionController.cpp:1568</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_ad9b657c1b30e68f496ece044a9a79307"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#ad9b657c1b30e68f496ece044a9a79307">elftosb::ConversionController::convertLoadStatement</a></div><div class="ttdeci">OperationSequence * convertLoadStatement(LoadStatementASTNode *statement)</div><div class="ttdef"><b>Definition:</b> ConversionController.cpp:810</div></div>
<div class="ttc" id="classelftosb_1_1_boot_image_generator_html"><div class="ttname"><a href="classelftosb_1_1_boot_image_generator.html">elftosb::BootImageGenerator</a></div><div class="ttdoc">Abstract base class for generators of specific boot image formats. </div><div class="ttdef"><b>Definition:</b> BootImageGenerator.h:33</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_a4b194e664f5a3017941113c7ff9f0ac1"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#a4b194e664f5a3017941113c7ff9f0ac1">elftosb::ConversionController::~ConversionController</a></div><div class="ttdeci">virtual ~ConversionController()</div><div class="ttdoc">Destructor. </div><div class="ttdef"><b>Definition:</b> ConversionController.cpp:47</div></div>
<div class="ttc" id="classelftosb_1_1_load_statement_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_load_statement_a_s_t_node.html">elftosb::LoadStatementASTNode</a></div><div class="ttdoc">AST node for a load statement. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1040</div></div>
<div class="ttc" id="classelftosb_1_1_list_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_list_a_s_t_node.html">elftosb::ListASTNode</a></div><div class="ttdoc">AST node that contains other AST nodes. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:107</div></div>
<div class="ttc" id="classelftosb_1_1_reset_statement_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_reset_statement_a_s_t_node.html">elftosb::ResetStatementASTNode</a></div><div class="ttdoc">Statement to insert a ROM_RESET_CMD command. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:1138</div></div>
<div class="ttc" id="classelftosb_1_1_output_section_html"><div class="ttname"><a href="classelftosb_1_1_output_section.html">elftosb::OutputSection</a></div><div class="ttdoc">Base class for data model of sections of the output file. </div><div class="ttdef"><b>Definition:</b> OutputSection.h:20</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_a9a4ed33ca258ea55bad725fa35f21592"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#a9a4ed33ca258ea55bad725fa35f21592">elftosb::ConversionController::m_sources</a></div><div class="ttdeci">source_map_t m_sources</div><div class="ttdoc">Map of source names to file objects. </div><div class="ttdef"><b>Definition:</b> ConversionController.h:146</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_a3b4f740adcce85a4044650523604c922"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#a3b4f740adcce85a4044650523604c922">elftosb::ConversionController::getSourceFromName</a></div><div class="ttdeci">SourceFile * getSourceFromName(std::string *sourceName, int line)</div><div class="ttdef"><b>Definition:</b> ConversionController.cpp:1841</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_a63838abcab2df44563db15fc2ca88761"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#a63838abcab2df44563db15fc2ca88761">elftosb::ConversionController::printIntConstExpr</a></div><div class="ttdeci">void printIntConstExpr(const std::string &amp;ident, IntConstExprASTNode *expr)</div><div class="ttdef"><b>Definition:</b> ConversionController.cpp:1917</div></div>
<div class="ttc" id="classelftosb_1_1_conversion_controller_html_a515fa552c78029c448b849d78f6b23e2"><div class="ttname"><a href="classelftosb_1_1_conversion_controller.html#a515fa552c78029c448b849d78f6b23e2">elftosb::ConversionController::substituteVariables</a></div><div class="ttdeci">std::string * substituteVariables(const std::string *message)</div><div class="ttdef"><b>Definition:</b> ConversionController.cpp:1449</div></div>
<div class="ttc" id="classelftosb_1_1_a_s_t_node_html"><div class="ttname"><a href="classelftosb_1_1_a_s_t_node.html">elftosb::ASTNode</a></div><div class="ttdoc">The base class for all AST node classes. </div><div class="ttdef"><b>Definition:</b> ElftosbAST.h:33</div></div>
<div class="ttc" id="classelftosb_1_1_elftosb_lexer_html"><div class="ttname"><a href="classelftosb_1_1_elftosb_lexer.html">elftosb::ElftosbLexer</a></div><div class="ttdoc">Lexical scanner class for elftosb command files. </div><div class="ttdef"><b>Definition:</b> ElftosbLexer.h:62</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_96c2f84c885cff71a930b6845f88cdd3.html">elftosb</a></li><li class="navelem"><a class="el" href="dir_052a101de9f4bb1b83e10d1f7ba74046.html">elftosb2</a></li><li class="navelem"><b>ConversionController.h</b></li>
    <li class="footer">Generated on Mon Mar 7 2016 16:49:49 for Kinetis Bootloader Host by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
